package ar.uba.is2.sc.comm;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import ar.uba.is2.common.mensaje.Componente;
import ar.uba.is2.common.mensaje.contenido.Identificador;

public class Suscripciones {
	
	public static final Suscripciones instance = new Suscripciones();
	
	private Suscripciones() { }

	private Map<Identificador, Collection<Componente>> suscripcionesPorIdentificador = new  HashMap<Identificador, Collection<Componente>>();
	
	public void agregarSuscripcion(Identificador id, Componente componente) {
		Collection<Componente> componentesSuscriptas = this.suscripcionesPorIdentificador.get(id);
		
		if (componentesSuscriptas == null) {
			componentesSuscriptas = new ArrayList<Componente>();
			
			this.suscripcionesPorIdentificador.put(id, componentesSuscriptas);
		}
		
		componentesSuscriptas.add(componente);

	}
	
	public Collection<Componente> obtenerSuscriptos(Identificador id) {
		return suscripcionesPorIdentificador.get(id);
	}
	
}
